A mobile or cellular telephone system is an example of a communication system that is capable of transmitting and receiving data between end user equipment or applications and network equipment. Transmitted and received data may be in the form of data packets. Transmitted data packets may be in a variety of formats and include a variety of different types of data, including voice data, binary data, video data, and the like.
A communication system, such as a mobile or cellular telephone communication system, may operate in a peer-to-peer network. A peer-to-peer network is composed of participants that make a portion of their resources, such as processing power, disk storage, or network bandwidth, directly available to other network participants without the need for central coordination, such as servers or hosts. Participants are both suppliers and consumers of resources, in contrast to the traditional client-server model where only servers supply, and clients consume.
Peer-to-peer networks may use an overlay network. An overlay network is a computer network which is built on top of an underlying network. Nodes in overlay networks can be thought of as being connected by virtual links, each of which corresponds to a path, perhaps through many physical links, in the underlying network. For example, peer-to-peer networks may be overlay networks because they run on top of the Internet and/or a cellular network.
Nodes may be connection points in an overlay network. Each node may act as either a redistribution point or a communication endpoint. Nodes may be defined according to the type of network and protocol layer. However, in one or more illustrative embodiments, each node of nodes is an active electronic device that is attached to an overlay network and is capable of sending, receiving, or forwarding information over a peer-to-peer network. Each node in a peer-to-peer network participates in connectivity maintenance of the overlay network. A node periodically sends a message to other nodes in its connected nodes to verify that the connected nodes are still available.
It would be advantageous to have a method and apparatus that takes into account at least some of the issues discussed above, as well as possibly other issues.